A video frame sequence may be converted into a compressed digital video bit stream in accordance with the MPEG-2 standard as described in greater detail in ISO/IEC DIS 13818-2, "Generic Coding of Moving Pictures and Associated Audio: Video," which is incorporated by reference herein. A given video frame is made up of a plurality of macroblocks, with each macroblock including one 16.times.16 block of luminance samples and either two 8.times.8 blocks of chroma samples (4:2:0 format) or one 16.times.16 block of chroma samples (4:2:2 format). An interlaced frame includes a top or even field and a bottom or odd field. The top and bottom fields represent alternating scan lines of the interlaced frame and therefore correspond to different instances in time. Each frame may be encoded as a single "frame picture" or a pair of "field pictures." A forward-only predictive (P) field picture may be predicted from the last two reference fields that occur temporally before the P field picture in the video sequence being compressed. These reference fields may be encoded as field pictures or as parts of frame pictures.
Dual prime motion estimation is a video compression technique suitable for use with interlaced P field pictures. The dual prime technique may be used if the P field picture is in a frame that is to be displayed immediately after a reference frame. The reference frame may be an intra-coded (I) or P frame picture or a pair of fields. A given P field picture using dual prime motion estimation is predicted from the two fields that are displayed just before the given P field picture. These two fields are referred to herein as the same-parity or far field and the opposite-parity or near field. For a given macroblock, a video encoder inserts in the compressed bit stream a base motion vector MV with x and y components (MVx, MVy) and a delta motion vector DMV with x and y components (DMVx, DMVy). Both of these motion vectors are in half-pel units, and each x and y component of DMV must be in the set {-1, 0, 1}. A decoder receiving the compressed video bit stream uses the MV and DMV vectors to compute an opposite-parity vector OPV having x and y components (OPVx, OPVy) in accordance with the following equations: EQU OPVx=MVx/2+DMVx Equation (1) EQU OPVy=MVy/2+DMVy+e Equation (2)
where e is equal to -1 if the current field is a top field and +1 if the current field is a bottom field, and the operator "/" as used herein means divide and round toward zero. FIG. 1 shows the generation of the vertical or y component of OPV in accordance with Equation (2) above, with OPVy being formed as the sum of MVy/2, DMVy and e. The MV and OPV vectors are used in conjunction with the above-noted prediction error macroblock to generate macroblocks formed from the far field and near field, respectively. These two macroblocks are then pointwise averaged to form a predicted macroblock for the current field. As with other forms of motion estimation, the decoder adds the predicted macroblock to the macroblock output of an inverse discrete cosine transform (IDCT) circuit to form a reconstructed macroblock for the current field.
An encoder should choose the MV and DMV vectors such that MV and OPV describe well the translation of the current macroblock from the previous same-parity and opposite-parity fields. This will ensure that the predicted macroblock will be a near match of the current macroblock, so only a relatively small number of bits need to be used to encode DCT coefficients that, when added to the predicted macroblock, will give a very good reconstruction of the current macroblock. One approach an encoder may take is to consider pairs of MV and DMV vectors, compute the predicted macroblock that each pair would generate, and choose the pair with the best predicted macroblock. Such an approach is used, for example, in the MPEG-2 Test Model 5. A problem with this approach is that it is "expensive" computationally in that many pairs of vectors generally must be considered (e.g., 9 for each MV) and each comparison requires the pointwise averaging of two macroblocks. A possible alternative approach simplifies the estimation process by selecting DMV as zero or another predetermined value, but can lead to a substantial degradation in decoded video quality.
As is apparent from the above, there is a need for an improved dual prime motion estimation technique which reduces motion vector search requirements and encoder complexity while maintaining a desired level of video quality.